package com.hsd.whb.service;

import com.hsd.whb.entity.Meeting;
import com.hsd.whb.pojo.output.MeetingVO;
import com.hsd.whb.pojo.query.QueryMeeting;
import com.wangjiacai.hqlQuery.service.BaseService;
import org.springframework.data.domain.Pageable;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface MeetingService extends BaseService {

    long findFileRecordListTotalPages(String managerName, QueryMeeting queryMeeting);

    List<MeetingVO> findFileRecordList(Pageable pageable, String managerName, QueryMeeting queryMeeting);

    long findFileRecordListTotalPagesByRecorder(String recorderName, QueryMeeting queryMeeting);

    List<Meeting> findFileRecordListByRecorder(Pageable pageable, String recorderName, QueryMeeting queryMeeting);

    long findStayOpenFileRecordListTotalPagesByRecorder(String recorderName, QueryMeeting queryMeeting);

    List<MeetingVO> findStayOpenFileRecordListByRecorder(Pageable pageable, String recorderName, QueryMeeting queryMeeting);

    Meeting findMeetingById(Integer id);

    Meeting save(Meeting meeting);

    Meeting startMeeting(Integer id, ServletContext servletContext, Integer language);

    Meeting endMeeting(Integer id, String username, ServletContext servletContext);

    Meeting pauseMeeting(Integer id, ServletContext servletContext);

    Meeting restartMeeting(Integer id, ServletContext servletContext, Integer language);

    void changeLanguage(Integer id, ServletContext servletContext, Integer language);

    void delete(Integer id);

    void updateSpeakUsername(Integer meetingId, String username, ServletContext servletContext);

}
